package com.amtf.datafile2;

import java.util.Collection;
import java.util.List;

public interface DataTableDefinition<DFD extends DataFieldDefinition> {

	public DataRecord newDataRecordInstance();

	// public DataRecord parse();

	public String getName();

	public void setName(String name);

	public DataTableDefinition<DFD> clone();

	public List<DFD> addFields(int count);

	public DFD addField();

	public void addFields(Collection<DFD> all);

	public DFD addField(String columnName);

	public DFD insertField(int index);

	public DFD insertField(int index, String columnName);

	public DFD getField(int column);

	public DFD getField(String columnName);

	public void removeField(int index);

	public void removeField(String name);

	public List<DFD> getFields();

	public int getFieldCount();

	public boolean isFirstRowTitle();

	public void removeAll();
}
